/*
 * @功能描述: 
 * @版本: v1.0.0
 * @作者: LuAn
 * @Date: 2021-08-30 07:20:04
 * @LastEditTime: 2021-08-31 19:05:48
 */
#include "bsp_led.h"
#include "bsp_gpio.h"
void led_init(void)
{
  /* 1、初始化IO复用 */
  IOMUXC_SetPinMux(IOMUXC_GPIO1_IO03_GPIO1_IO03, 0); /* 复用为GPIO1_IO03 */

  /* 2、、配置GPIO1_IO03的IO属性	
	 *bit 16:0 HYS关闭
	 *bit [15:14]: 00 默认下拉
	 *bit [13]: 0 kepper功能
	 *bit [12]: 1 pull/keeper使能
	 *bit [11]: 0 关闭开路输出
	 *bit [7:6]: 10 速度100Mhz
	 *bit [5:3]: 110 R0/6驱动能力
	 *bit [0]: 0 低转换率
	 */

  // volatile uint32_t val = HYS_0_Hysteresis_Disabled |
  //                         PUS_0_100K_Ohm_Pull_Down |
  //                         PUE_0_Keeper |
  //                         PKE_0_Pull_Keeper_Disabled |
  //                         ODE_0_Open_Drain_Disabled |
  //                         SPEED_1_medium_100MHz |
  //                         DSE_1_R0_1 |
  //                         SRE_0_Slow_Slew_Rate;
  IOMUXC_PAD_t config = {
      .DSE = IOMUXC_PAD_DSE_R0_1,
      .PUS = IOMUXC_PAD_PUS_UP100,
      .SPEED = IOMUXC_PAD_SPEED_MID};
  IOMUXC_SetPinConfig(IOMUXC_GPIO1_IO03_GPIO1_IO03, config.full);
  gpio_init_output(GPIO1, 3, 1);
}

/*
 * @description		: LED控制函数，控制LED打开还是关闭
 * @param - led		: 要控制的LED灯编号
 * @param - status	: OFF，关闭LED0，ON 打开LED0
 * @return 			: 无
 */
void led_switch(int led, int status)
{
  switch (led)
  {
  case LED0:
    if (status == ON)
    {
      gpio_clr_pins(GPIO1, BSP_GPIO_PIN_3);
    }
    else if (status == OFF)
    {
      gpio_set_pins(GPIO1, BSP_GPIO_PIN_3);
    }
    break;
  }
}
